INC=-I./

LIBKERNEL=libkernel.a
CSLIB=-L./ -lkernel -lpthread

SCCC=g++ -c -g 
SCLK=g++ -o 


OBJECT=spider.o strutil.o nodearray.o hash.o html.o wrapepoll.o http.o cvector.o queue.o log.o common.o

all: $(LIBKERNEL) sunspider 
clean:
    rm -f *.o core *.a sunspider
	touch *c

$(LIBKERNEL):$(OBJECT)
	ar -rv $(LIBKERNEL) $(OBJECT) 

sunspider:main.o 
	$(SCLK) $@ main.o $(CSLIB) 

main.o:main.c
	$(SCCC) $(INC) main.c

spider.o:spider.c
	$(SCCC) $(INC) spider.c

strutil.o:strutil.c
	$(SCCC) $(INC) strutil.c

nodearray.o:nodearray.c
	$(SCCC) $(INC) nodearray.c


queue.o:queue.c
	$(SCCC) $(INC) queue.c

cvector.o:cvector.c
	$(SCCC) $(INC) cvector.c

hash.o:hash.c
	$(SCCC) $(INC) hash.c

html.o:html.c
	$(SCCC) $(INC) html.c
	
common.o:common.c
	$(SCCC) $(INC) common.c
	
http.o:http.c
	$(SCCC) $(INC) http.c

wrapepoll.o:wrapepoll.c
	$(SCCC) $(INC) wrapepoll.c

log.o:log.c
	$(SCCC) $(INC) log.c

test:test.o 
	$(SCLK) $@ test.o $(CSLIB) 

test.o:test.c
	$(SCCC) $(INC) test.c


test2:test2.o 
	$(SCLK) $@ test2.o $(CSLIB) 

test2.o:test2.c
	$(SCCC) $(INC) test2.c

test3:test3.o 
	$(SCLK) $@ test3.o $(CSLIB) 

test3.o:test3.c
	$(SCCC) $(INC) test3.c
epoll:wrapepoll.o 
	$(SCLK) $@ wrapepoll.o $(CSLIB) 

